import json
import os
from pysnowball import cons
from pysnowball import api_ref
from pysnowball import utls


def skholderchg(symbol):
    url = api_ref.f10_skholderchg+symbol
    return utls.fetch(url)


def skholder(symbol):
    url = api_ref.f10_skholder+symbol
    return utls.fetch(url)


def industry(symbol):
    url = api_ref.f10_industry+symbol
    return utls.fetch(url)


def holders(symbol):
    url = api_ref.f10_holders+symbol
    return utls.fetch(url)


def bonus(symbol, page=1, size=10):
    """
    获取指定股票的分红信息。

    此函数用于构建请求 URL 并调用 utls.fetch 方法来获取指定股票的分红信息。
    支持分页请求，允许用户指定页码和每页返回的记录数量。

    参数:
    symbol (str): 股票代码，例如 'SH600000'。
    page (int, 可选): 请求的页码，默认为 1。
    size (int, 可选): 每页返回的记录数量，默认为 10。

    返回:
    dict: 包含分红信息的字典，由 utls.fetch 方法返回。
    """
    # 构建基础 URL，将股票代码添加到 API 引用的基础 URL 之后
    if utls.is_hk_symbol(symbol):
        url = api_ref.f10_bonus_hk + symbol
    else:
        url = api_ref.f10_bonus + symbol
    # 进一步构建 URL，添加分页参数，指定页码和每页记录数量
    url = url + '&page=' + str(page) + '&size=' + str(size)
    # 调用 utls.fetch 方法发送请求并返回结果
    return utls.fetch(url)


def org_holding_change(symbol):
    url = api_ref.f10_org_holding_change+symbol
    return utls.fetch(url)


def industry_compare(symbol):
    url = api_ref.f10_industry_compare+symbol
    return utls.fetch(url)


def business_analysis(symbol):
    url = api_ref.f10_business_analysis+symbol
    return utls.fetch(url)


def shareschg(symbol, count=5):
    url = api_ref.f10_shareschg+symbol
    url = url + '&count='+str(count)
    return utls.fetch(url)


def top_holders(symbol, circula=1):
    url = api_ref.f10_top_holders+symbol
    url = url + '&circula='+str(circula)
    return utls.fetch(url)


def main_indicator(symbol):
    url = api_ref.f10_indicator+symbol
    return utls.fetch(url)
